import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

// 导入 amfe-flexible
// 作用是把手机屏幕划分为10等分作为html元素的字体大小
import 'amfe-flexible'
import './directive'

// 代码高亮的样式
import 'highlight.js/styles/default.css'

// Vant组件使用步骤：
// 1. 导入
// 2. 注册
// 3. 反复阅读文档

// 导入注册vant组件的模块
import './vant'

// 导入自定义插件对象
import My from './plugin'
// 注册自定义插件
// 把插件对象作为参数传给Vue.use()，内部会立即调用
// 插件对象的install()方法，并且把Vue构造函数传给install()
Vue.use(My)

// 全局注册组件
// 组件对象的name属性的作用：
// 1. 用于在调试工具快速查找指定组件
// 2. 用于组件注册时的组件名

// 为什么vant的组件可以通过 Vue.use() 注册？因为vant的每个组件实现了install方法
Vue.config.productionTip = false
console.log(process.env.NODE_ENV)// prod
// process.env.NODE_ENV: 获取环境变量的值
if (process.env.NODE_ENV !== 'dev') { // 当前是生成环境下
  // 覆盖console对象几个打印日志的函数
  console.log = function () { }
  console.dir = function () { }
  console.error = function () { }
}
console.log('ok')// 不输出
new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')

// 今日(2月3日)重点知识：
// 1. vuex管理token的过程
//  登录组件 -> actions -> mutations -> state
// 2. 配置路由嵌套
// 3. axios拦截器
// 4. 样式穿透

// 今日(2月5日)重点知识：
// 1. 数据预处理思想
// 2. 单图和多图的展示(准备多套标签+条件渲染)
// 3. 上拉加载更多
// 4. 下拉刷新
